//
//  BytedCertDefine.h
//  byted_cert
//
//  Created by bytedance on 2020/2/11.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
typedef NSString *const BytedCertParamKey NS_TYPED_ENUM;
/// 新版SDK参数key定义
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamAppId;  /// app id
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamScene;  /// 场景
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamTicket; /// 一次完整业务流程的票据
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamMode;   /// 流程mode，用于h5区分流程，1：身份验证，0：实名认证、身份认证
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamAppVersion;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamCacheRootDirectory;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamDeviceId;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamImageCompare;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamActionNum;

//FOUNDATION_EXPORT BytedCertParamKey BytedCertLivenessType DEPRECATED_MSG_ATTRIBUTE("use BytedCertParamLivenessType instead");
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamLivenessType;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamMotionList;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamMotionCount;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamFixedMotionList;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamLivenessTimeout;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamMaxLivenessTrial;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRefSource;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamBinaryDataBase64;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamIdentityCode; /// 身份证号码
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamIdentityName; /// 身份证姓名
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRSAPub; // RSA公钥, 用于加密回调的活体AES密钥
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamVerifyNeeded; // 活体认证后是否需要身份比对

FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRiskMotionCount;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRiskLivenessType;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRiskMotionList;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRiskFixedMotionList;

FOUNDATION_EXPORT BytedCertParamKey BytedCertParamRiskToken;

//活体检测接口

/// jsb获取req_order_no格式定义
/*
 jsb定义如下：
 app.fetchFinishReqTicket
 参数：
 {
 uid : string,
 mode: int
 }
 返回值：
 {
 ticket : string
 }
 // 旧版
 app.fetchFinishReqOrderNo
 参数：
 {
    uid : string,
    merchant_id : string
    mode : int
 }
 返回值：
 {
    req_order_no : string
 }
*/
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBFetchReqOrderNoName; /// jsb名称
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBFetchReqOrderNoKey;  /// 请求号key

/// 流程结束参数定义
/*
eg: data:{
    error_code: status_code,
    error_msg:fail_msg,
    ext_data:{
        name,
        idNumber,
        mode,
        req_order_no,
        merchant_id,
        uid
    }
}
*/
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBParamsErrorCode; /// error_code
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBParamsErrorMsg;  /// error_msg
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBParamsExtData;   /// ext_data
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBParamsName;      /// name
FOUNDATION_EXPORT BytedCertParamKey BytedCertJSBParamsIdNumber;  /// idNumber


//美颜强度定义
FOUNDATION_EXPORT int const BytedCertBeautyClose;
FOUNDATION_EXPORT int const BytedCertBeautyMiddle;

FOUNDATION_EXPORT BytedCertParamKey BytedCertParamTargetOffline;
FOUNDATION_EXPORT BytedCertParamKey BytedCertParamTargetReflection;

FOUNDATION_EXPORT BytedCertParamKey BytedCertLiveTypeAction;
FOUNDATION_EXPORT BytedCertParamKey BytedCertLiveTypeReflection;
FOUNDATION_EXPORT BytedCertParamKey BytedCertLiveTypeVideo;
FOUNDATION_EXPORT BytedCertParamKey BytedCertLiveTypeActionStill;

NS_ASSUME_NONNULL_END
